/*
 * @Descripttion: 
 * @version: 
 * @Author: wtzhang
 * @Date: 2021-05-28 11:20:40
 * @LastEditors: wtzhang
 * @LastEditTime: 2021-06-02 13:31:39
 */

// 引入依赖
const express = require('express')
const path = require('path')
const router = require('./router')
const bodyParser = require('body-parser')
const session = require('express-session')
const template = require('art-template')

// 创建服务器实例
const app = express()

// 配置 express-session ,挂载到 app 上
app.use(session({
  secret: 'wt_blog', // 配置加密字符串，他会在原有加密基础上和这个字符串拼接起来一起加密
  resave: false,
  saveUninitialized: true // 无论你是否使用 session ， 我都默认直接给你分配一把钥匙
}))


// 配置body-parser 中间件（插件）
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
// 将路由挂载到 app 中
app.use(router)

// 公开资源目录
app.use('/public/', express.static(path.join(__dirname, './public/')))
app.use('/node_modules/', express.static(path.join(__dirname, './node_modules/')))

app.engine('html', require('express-art-template'))
app.set('views',path.join(__dirname, './views/'))

app.get('/', function (req, res) {
  res.render('index.html', {
    name: '首页主体'
  })
})

//注册一个过滤器 通过处理时间戳 转为日期格式
template.defaults.imports.getDate = dateTime =>{
  const datetime = new Date(dateTime)

  const year = datetime.getFullYear()
  const month = ("0" + (datetime.getMonth() + 1)).slice(-2)
  const date = ("0" + datetime.getDate()).slice(-2)
  const hour = ("0" + datetime.getHours()).slice(-2)
  const minute = ("0" + datetime.getMinutes()).slice(-2)

  return  year + "-"+ month +"-"+ date +" "+ hour +":"+ minute
}

app.listen('8889', function () {
  console.log('论坛后台服务启动成功！http://127.0.0.1:8889');
})

